/*
 * @Author: your name
 * @Date: 2021-04-09 17:00:55
 * @LastEditTime: 2021-04-09 17:00:55
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: \TypeScript\17-联合类型.ts
 */
// 联合类型 Union Types
// 联合类型表示一个值可以是几种类型之一
// 我们用竖线（|）分割每个类型，所以number|string|boolean表示一个值可以是number，string或boolean
function padLeft(value, padding) {
    if (typeof padding === 'number') {
        return Array(padding + 1).join(" ") + value;
    }
    if (typeof padding === 'string') {
        return padding + value;
    }
    throw new Error("Expected string or number, got '" + padding + "'.");
}
// 报错因为false不是字符串伙食数字
padLeft("Hello world", false);
function getSumallPet() {
    return {
        layEggs: function () { },
        swim: function () { },
        fly: function () { }
    };
}
var pet = getSumallPet();
pet.layEggs();
// Bird和Fish不存在swim属性
pet.swim();
